﻿using System.Collections.Generic;
using System.Threading.Tasks;
using BCEntity.OA.Attendance.AttendanceWiFi;

namespace BCData.OA.Attendance.AttendanceWiFi
{
    public interface IAttendanceWiFiData
    {
        /// <summary>
        /// 获取WiFi信息
        /// </summary>
        /// <param name="id">id</param>
        /// <returns></returns>
        Task<AttendanceWiFiEntity> GetEntityAsync(long id);

        /// <summary>
        /// 获取考勤WiFi信息列表
        /// </summary>
        /// <returns></returns>
        Task<IEnumerable<AttendanceWiFiEntity>> GetAsync();

        /// <summary>
        /// 新创建一个考勤WiFi信息
        /// </summary>
        /// <param name="entity">WiFi信息</param>
        /// <returns></returns>
        Task<AttendanceWiFiEntity> InsertAsync(AttendanceWiFiEntity entity);

        /// <summary>
        /// 校验WiFi信息存在不
        /// </summary>
        /// <param name="id">id</param>
        /// <returns></returns>
        Task<bool> CheckIsExist(long id);

        /// <summary>
        /// 校验WiFi信息存在不
        /// </summary>
        /// <param name="mac">mac地址</param>
        /// <returns></returns>
        Task<bool> CheckIsExist(string mac);

        /// <summary>
        /// 删除WiFi
        /// </summary>
        /// <param name="id">id</param>
        /// <param name="adminName">管理员信息</param>
        /// <returns></returns>
        Task<int> DeleteAsync(long id, string adminName = null);

        /// <summary>
        /// 修改WiFi信息
        /// </summary>
        /// <param name="entity">WiFi信息</param>
        /// <returns></returns>
        Task<AttendanceWiFiEntity> UpdateAsync(AttendanceWiFiEntity entity);
        /// <summary>
        /// 获取打卡Wifi
        /// /// </summary>
        /// <param name="groupId">考勤组Id</param>
        /// <returns></returns>
        Task<IEnumerable<AttendanceWiFiEntity>> GetListByModeIdAndGroupId(long groupId);



    }
}
